package cn.itcast.work.dao.system;

import cn.itcast.work.pojo.TextWhole;
import cn.itcast.work.pojo.Text_show;
import cn.itcast.work.pojo.User;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;
import java.util.Map;


@Mapper
public interface TextMapper {
    /**
     * 动态查询文章  分页
     * @param value
     * @param page
     * @param pageSize
     * @return
     */
    List<Map<String, Object>> selectText(String value,int page,int pageSize);


    /**
     * 分页查询用户
     *
     * @param startIndex
     * @param perPageSize
     * @return
     */
    List<Map<String, Object>> selectUsersByPage(@Param("startIndex") int startIndex, @Param("perPageSize") int perPageSize);

    /**
     * 查询数量
     *
     * @return
     */
    int selectAllUser();

    /**
     * @return
     */
    int selectAllBook();

    /**
     * 分页查询文章
     *
     * @param i
     * @param pageSize
     * @return
     */
    List<Map<String, Object>> selectBooksByPage(int i, int pageSize);

    /**
     * 查看文章
     *
     * @param title
     * @param phone
     * @return
     */
    @Select("select * from text where title=#{title} and phone=#{phone}")
    TextWhole toSee(String title, String phone);

    /**
     * 审核文章修改状态
     *
     * @param choice
     * @param phone
     * @param title
     */
    @Update("update text set status= #{choice} where phone=#{phone} and title=#{title}")
    void updateText(int choice, String phone, String title);

    /**
     * 推送文章
     *
     * @param phone
     * @param title
     */
    @Update("update text set put=#{put} where phone=#{phone} and title=#{title}")
    void putText(String phone, String title,int put);

    /**
     * 推送用户
     * @param phone
     */
    @Update("update users set put=#{put} where phone=#{phone}")
    void putUser(String phone,int put);

    /**
     * 查询搜索数量
     * @param search
     * @return
     */
    int selectAllSearch(String search);

    /**
     * 动态搜索用户数量
     * @param search
     * @return
     */
    int selectAllUsers(String search);

    /**
     * 动态查询用户 分页
     * @param search
     * @param page
     * @param pageSize
     * @return
     */
    List<Map<String, Object>> toSearchUser(String search, int page, int pageSize);
}
